/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package BussinesLogic;

import EntidadesCM.ServicioCM;
import Entities.Servicio;
import controller.ServicioJpaController;
import controller.exceptions.NonexistentEntityException;
import controller.exceptions.PreexistingEntityException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Nas
 */
public class ServicioBL implements Serializable {

        ServicioJpaController servicioJpaController; 
        
    public void crearServicio(ServicioCM servicioCM) throws PreexistingEntityException, Exception {

    }

    public void editarServicio(ServicioCM servicioCM) throws NonexistentEntityException, Exception {

    }

    public void eliminarServicio(Integer id) throws NonexistentEntityException {

    }

    public List<ServicioCM> buscarAllServicios() {
       List<ServicioCM> serviciosCM = new ArrayList<>();
        servicioJpaController = new ServicioJpaController();
        ServicioCM servicioCM;

        for (Servicio servicio : servicioJpaController.findServicioEntities()) {
            servicioCM = new ServicioCM();
            servicioCM.setIdServicio(servicio.getIdServicio());
            servicioCM.setNombre(servicio.getNombre());
            servicioCM.setDescripcion(servicio.getDescripcion());
            servicioCM.setEstado(servicio.getEstado());
            serviciosCM.add(servicioCM);
        }
        return serviciosCM;
    }

   public List<ServicioCM> buscarAllServiciosByCategoria(Integer id) {
   List<ServicioCM> serviciosCM = new ArrayList<>();
        List<Servicio> servicios;
        servicioJpaController = new ServicioJpaController();
        servicios = servicioJpaController.findServiciosByCategoria(id);
        if (servicios.size() > 0) {
            ServicioCM servicioCM;
            for (Servicio servicio : servicios) {
                servicioCM = new ServicioCM();
                servicioCM.setIdServicio(servicio.getIdServicio());
                servicioCM.setEstado(servicio.getEstado());           
                servicioCM.setDescripcion(servicio.getDescripcion());
                servicioCM.setNombre(servicio.getNombre());
                serviciosCM.add(servicioCM);
            }
            return serviciosCM;
        } else {
            return null;
        }
    }    

    public ServicioCM buscarServicioById(Integer id) {
        ServicioCM servicioCM = new ServicioCM();
        Servicio servicio;
        servicioJpaController = new ServicioJpaController();       
        servicio = servicioJpaController.findServicio(id);
        if(servicio != null){
            servicioCM = new ServicioCM();
            servicioCM.setIdServicio(servicio.getIdServicio());
            servicioCM.setNombre(servicio.getNombre());
            servicioCM.setDescripcion(servicio.getDescripcion());
            servicioCM.setEstado(servicio.getEstado());
        }
        return servicioCM;
    }

    
        public ServicioCM convertirPlanCM(Servicio servicio) {
        ServicioCM servicioCM = new ServicioCM();
        if(servicio != null){
            servicioCM = new ServicioCM();
            servicioCM.setIdServicio(servicio.getIdServicio());
            servicioCM.setNombre(servicio.getNombre());
            servicioCM.setDescripcion(servicio.getDescripcion());
            servicioCM.setEstado(servicio.getEstado());
        }
        return servicioCM;
    }
    
}
